home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / PASCAL / 1463.ZIP / DRAW-2D.ARC / PAN.PAS < prev    next >
Pascal/Delphi Source File  |  1986-12-03  |  2KB  |  68 lines

  1. PROCEDURE PAN;
  2.    VAR
  3.      DELX,DELY:REAL;
  4.      FLAG:BOOLEAN;
  5.    BEGIN
  6.      MOVCUR(24,2);
  7.      WRITE('Select Reference Point & press Left button >');
  8.      RING(1);
  9.      FLAG := FALSE;
  10.      WHILE NOT(FLAG) DO
  11.        BEGIN
  12.         GETMOUSE(X,Y,PIXX,PIXY,OPTION);
  13.         IF BUTTON1 THEN FLAG := TRUE;
  14.         IF (BUTTON1) AND (OPTION <> 0) THEN
  15.            BEGIN
  16.              FLAG := FALSE;
  17.              RING2;
  18.              MOVCUR(24,1);
  19.              WRITE(BLKLINE);
  20.              MOVCUR(24,2);
  21.              WRITE('Move mouse cursor into graphics area!!');
  22.            END;
  23.         IF BUTTON2 THEN RING2;
  24.        END;
  25.      M1 := 2;
  26.      MOUSE(M1,M2,M3,M4);          (* HIDE MOUSE *)
  27.      MARK(PIXX,PIXY,HRCOLOR);
  28.      M1 := 1;                     (* SHOW MOUSE *)
  29.      MOUSE(M1,M2,M3,M4);
  30.      LASTX := X;
  31.      LASTY := Y;
  32.      MOVCUR(24,1);
  33.      WRITE(BLKLINE);
  34.      MOVCUR(24,2);
  35.      WRITE('Select New Point & press Left button (Right button to Cancel) >');
  36.      RING(1);
  37.      FLAG := FALSE;
  38.      WHILE NOT(FLAG) DO
  39.         BEGIN
  40.           GETMOUSE(X,Y,PIXX,PIXY,OPTION);
  41.           IF (BUTTON1) OR (BUTTON2) THEN FLAG := TRUE;
  42.           IF (BUTTON1) AND (OPTION <> 0) THEN
  43.            BEGIN
  44.              FLAG := FALSE;
  45.              RING2;
  46.              MOVCUR(24,1);
  47.              WRITE(BLKLINE);
  48.              MOVCUR(24,2);
  49.              WRITE('Move mouse cursor into graphics area!!');
  50.            END;
  51.         END;
  52.      MOVCUR(24,1);
  53.      WRITE(BLKLINE);
  54.      IF BUTTON1 THEN
  55.         BEGIN
  56.           DELX := X - LASTX;
  57.           DELY := Y - LASTY;
  58.           XWMIN := XWMIN - DELX;
  59.           XWMAX := XWMAX - DELX;
  60.           YWMIN := YWMIN - DELY;
  61.           YWMAX := YWMAX - DELY;
  62.           M1 := 2;
  63.           MOUSE(M1,M2,M3,M4);          (* HIDE MOUSE *)
  64.           REDRAW;
  65.           M1 := 1;                     (* SHOW MOUSE *)
  66.           MOUSE(M1,M2,M3,M4);
  67.         END;
  68.   END; (*PROC*)